Currently, there are generally two manners of implementing infrared remote control on a terminal such as a smartphone. In one manner, a switch of an infrared transmitter is controlled by using general purpose input/output (General Purpose Input/Output, GPIO) of a system on chip (System on Chip, SOC), to form an infrared remote control modulation signal using pulse-width modulation (Pulse Width Modulation, PWM). However, in this manner, infrared remote control learning cannot be implemented. When a code word corresponding to an infrared remote controller cannot be found in a code library, the terminal cannot work properly. In the other manner, a dedicated infrared remote control chip is used to implement infrared remote control. In this case, infrared remote control learning can also be implemented. An existing infrared remote control chip transmits a signal in a single-ended mode. During infrared transmission, the infrared remote control chip constructs a current signal of a PWM waveform by controlling a level signal at an output end that is connected to an infrared transmitter, so as to control the infrared transmitter to transmit a corresponding infrared remote control modulation signal. During infrared learning, a voltage generated by the infrared transmitter by means of a photoelectric effect is superimposed onto a power supply voltage, and the infrared remote control chip analyzes and stores corresponding code word data by identifying the voltage generated by the infrared transmitter by means of the photoelectric effect. However, in this manner, because the dedicated infrared remote control chip is required, costs are inevitably high. Because the infrared remote control chip transmits a signal in the single-ended mode, anti-interference performance of the signal is poor in both infrared learning and infrared transmission. In addition, because an anti-interference capability of a learning circuit in a single-ended current source mode is limited, there are some limitations in terms of infrared learning algorithm support, infrared learning accuracy control, and the like. All these are unfavorable for improving infrared remote control performance.